阅读更多

0顶
0踩

编程语言

转载新闻 儿童编程语言的进化史

2016-05-31 17:42 by 正式记者 黑客不黑 评论(1) 有5254人浏览
奥巴马“计算机从娃娃抓起”的倡议和人们对科学(Science)、技术(Technology)、工程(Engineering)、数学 (Mathematics)教育日渐增长的关注都说明了一个问题,那就是,为了教导孩子们学习计算机知识,我们需要建立一套标准,还要找到好的教学方案。 在工业界,人们普遍认为,要让孩子学会些什么,最好的方法就是使用可视化的编程语言,这样的话,即使是年纪很小的孩子也不必纠结于语法问题,而可以自由创 造,同时掌控着自己编写的软件。

Logo 语言的更新换代

在过去 50 年里,设计师们以 Seymour Papert 创造的 Logo 语言为基础,造出了一大堆编程工具,它们虽然在界面上稍有不同,但其目的都是为了引导孩子们对编程进行思考。同时,由于 MIT 设计的 Scratch 的流行,基于模块的编程方法便成为了教学的标准。 在 CSTA 为中小学生制定的计算机课程教学标准中,也明确地将“在基于模块的可视化编程语言上进行构建和测试的能力”用于评估小学 5 年级学生的编程水平。



趋向幼龄化

引入机器人技术


看着自己写的代码变成现实是件很神奇的事。在本世纪初,乐高 和 MIT 合作了一个项目,致力于将基于模块的编程带入到现实世界中。学生可以在电脑上写程序,然后把代码下载到他们搭建的机器人上。早期的 RIS (机器人发明系统)和 Scratch 十分相似。



2013 年推出的乐高机器人虽然变得更加复杂,但工作原理仍然不变。现在学生们能够给组件增加输入参数,用来指定距离、时间、输出和其它的一些特性。



Martin Exner 在 Logo 和更晚一些的 Scratch 的启发之下,发明了这种简单的信息图,它被用来描述可视化的编程工具。
事实上,Logo 语言的大部分衍生产品都是为了特定的场景而被设计出来的:用于游戏、创建 3D 场景、画图、对机器人进行编程甚至是用来操纵一个虚拟的鱼缸。
但即使这些东西能够吸引许多不同的孩子,很多小孩在之后学着编写语句时仍会觉得很难。

超越 Logo

在现实世界里,计算机程序总是需要考虑一大堆的输入,以及一个逻辑条件是否成立。举一个例子,我们要决定今天需不需要早起。如果今天是星期六或者星 期天,那么我们就会出去外面玩。如果今天是星期一,我们就得去收拾运动服。如果是星期四,就得倒垃圾。另外除了周末之后的日子,都要上学。下面这幅图展示 了如何使用 Scratch 对这个问题进行解答。



除了基于模块的编程方法之外,还有一种新的语言采用了不同的方法来教孩子编程。在 2015 年,Wonder Workshop 设计了一种流式的编程语言,叫做 Wonder。Wonder 让学生将注意力放在多个功能单元之间的连接,通过这种方法来创造一个状态机。这个状态机在任意时刻都只能处于一个状态,如果它正在处理某个任务,给定一个 输入就可以让它改变状态去做一些其它的事情。
下面这幅图说明了如何使用流式的方法解决之前的起床问题。



除了使学生们摆脱了线性的编程范式,Wonder 还让他们能以一种简单的方法来对现实世界的问题建立模型。

学生们可以更容易地把一个问题分解成小的模块,然后用这些模块来解决一个复杂的问题。这样他们在解决一个复杂的问题的时候,就能把注意力放在在一个个子问题上。这个分解问题的过程,既是计算机科学的基础知识,也是 Wonder 语言的设计初衷。



在我们日常生活里也有很多机器人和状态机的例子,并且它们正在变得越来越普遍。自动售货机会在你投入正确的金额时吐出商品。自动驾驶汽车能够根据周 围的障碍物决定如何前进。状态机还能对很多其他的问题进行建模,就像句法分析、人工智能、通信协议、游戏中的角色发展,甚至包括神经系统。

随着机器人技术的应用和其影响力的扩大,教师们自己现在也需要学习模块化编程。但在这些方法被越来越多人采用的同时,我们应该思考的是:这是否就是正确的前进方向?又或者是不是还有其它更好的方法可以帮助孩子们学习计算机呢?

本文由 伯乐在线 - chowchowT^T 翻译,sunshinebuel 校稿。
英文出处:June
  • 大小: 94.7 KB
  • 大小: 100.4 KB
  • 大小: 50.1 KB
  • 大小: 73.8 KB
  • 大小: 47.8 KB
  • 大小: 125.3 KB
来自: 博乐在线
0
0
评论 共 1 条 请登录后发表评论
1 楼 zftzyw 2016-06-01 10:36
   

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 编程语言,一路走来

    人类发明了编程语言,本是为了能控制机器。计算机越来越强大,编程语言也不断革新。于是我大胆地认为,编程语言的意义将超越对机器的控制,它或许是一种文明的出发点——机器人文明。为了能更好地展望编程语言,让...

  • 亚马逊工程师论各种编程语言的优缺点

    但是对于你天天要做的编程工作,你应该基于以下条款选择你的语言:库,文档,工具支持,操作系统集成,资源,和一堆其他的东西。这些条款跟计算机如何工作关系很小,但是跟人类如何工作关系甚大。 人们还在用很...

  • 通天塔导游:各种编程语言的优缺点

    【译注】:圣经记载:在远古的时候,人类都使用一种语言,全世界的人决定一起造一座通天的塔,就是巴别塔,后来被上帝知道了,上帝就让人们使用不同的语言,这个塔就没能造起来。 巴别塔不建自毁,与其说上帝的分化...

  • 通天塔导游:各种编程语言优缺点

    (译注:圣经记载:在远古的时候,人类都使用一种语言,全世界的人决定一起造一座通天的塔,就是巴别塔,后来被上帝知道了,上帝就让人们使用不同的 语言,这个塔就没能造起来。 巴别塔不建自毁,与其说上帝的分化将...

  • 各种编程语言优缺点

    (译注:圣经记载:在远古的时候,人类都使用一种语言,全世界的人决定一起造一座通天的塔,就是巴别塔,后来被上帝知道了,上帝就让人们使用不同的语言,这个塔就没能造起来。 巴别塔不建自毁,与其说上帝的分化将...

  • 几种编程语言的优缺点

    几种编程语言的优缺点 大数据实验室2016-07-24 04:47:04阅读(28254)评论(49) 声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。举报  圣经记载:...

  • 通天塔导游 - 细数各种编程语言优缺点

    通天塔导游 - 细数各种编程语言优缺点 (译注:圣经记载:在远古的时候,人类都使用一种语言,全世界的人决定一起造一座通天的塔,就是巴别塔,后来被上帝知道了,上帝就让人们使用不同的 语言,这个塔就没能造...

  • [有点意思]通天塔导游:各种编程语言的优缺点

    【译注】:圣经记载:在远古的时候,人类都使用一种语言,全世界的人决定一起造一座通天的塔,就是巴别塔,后来被上帝知道了,上帝就让人们使用不同的语言,这个塔就没能造起来。 巴别塔不建自毁,与其说上帝的...

  • [Z] 通天塔导游:各种编程语言的优缺点

    【译注】:圣经记载:在远古的时候,人类都使用一种语言,全世界的人决定一起造一座通天的塔,就是巴别塔,后来被上帝知道了,上帝就让人们使用不同的语言,这 个塔就没能造起来。 巴别塔不建自毁,与其说上帝的分化...

  • python编程语言的缺点-多种编程语言的优缺点梳理

    原标题:多种编程语言的优缺点梳理 【译注】:圣经记载:在远古的时候,人类都使用一种语言,全世界的人决定一起造一座通天的塔,就是巴别塔,后来被上帝知道了,上帝就让人们使用不同的语言,这个塔就没能造起来。...

  • 细数各种编程语言优缺点

    (译注:圣经记载:在远古的时候,人类都使用一种语言,全世界的人决定一起造一座通天的塔,就是巴别塔,后来被上帝知道了,上帝就让人们使用不同的 语言,这个塔就没能造起来。 巴别塔不建自毁,与其说上帝的分化将...

  • 自然语言处理(NLP)与知识图谱(KG)的发展史

    自然语言处理(NLP)与知识图谱(KG)的发展史

  • 刚从青海回来,青海好凉快

     去了三天的青海,青海湖,塔尔寺,和土族的民俗园。这是一些照片,有时间补上游记。

  • 日出印象

  • 刚从宁夏回来,宁夏好凉快。

    学校放假了,人去楼空。 我要控制我自己不会让谁看见我哭泣装作漠不关心你不愿想不起你怪自己没有勇气心痛得无法呼吸找不到你留下的痕迹眼睁睁的看着你却无能为力任你消失在世界的尽头找不到坚强的理由再也感觉不到你的温柔告诉我星空在那头那里是否有尽头心痛得无法呼吸找不到昨天留下的痕迹眼睁睁的看见你却无能为力任你消失在世界的尽头找不到坚强的理由再也感觉不到你的温柔告诉我星空在那头那里是否有尽头就向流星许个心愿.

  • 精彩的美洲杯决赛

    凌晨四点,爬起来看美洲杯决赛,觉得不看实在是对不起自己。 结果看了一场精彩的对决。无论是过程还是结果,无论你追求足球的什么,相信都可以从中得到满足,这,才是真正意义上的足球。

  • 一次对话

    A:你喜欢的做事风格? B:轻灵飘逸,举重若轻 A:你对幸福的理解? B:幸福是一种感受,最简单的幸福就是灵魂的安宁和身体的健康 A:你的处世态度? B:出世的精神感受入世的生活 A:我呸!呸呸呸... 另:捷克并不完美!

  • 我的创刊号

    占个地方先

Global site tag (gtag.js) - Google Analytics